1. Field of the Invention
The present invention relates generally to media playback. More particularly, the present invention relates to media playback using dynamic manifest files.
2. Background Art
Streaming platforms based on widely supported protocols such as Hypertext Transfer Protocol (HTTP), Internet Protocol (IP) multicast and peer to peer (P2P) streaming allow content producers to continue harnessing standard web delivery technologies for streamlined implementation using existing infrastructure, avoiding the need to develop and implement new data streaming protocols. As a result, such streaming platforms are seeing widespread adoption, with supporting player applications built for a wide range of operating systems and devices. By utilizing applications based on widely supported streaming protocols, users can enjoy live or recorded video content streamed conveniently to their favorite media consumption devices, whether it be a laptop or desktop computer, a mobile phone, a video game console, a digital video recorder, a set top box, or another network enabled media device.
Conventionally, many streaming platforms rely on a manifest file retrieved as a static playlist file from a web host. Thus, it is difficult to provide dynamic content where the contents of the manifest file may change. Moreover, the manifest file must be strictly sequential and provides no mechanisms for conditional logic or implementing business rules. This lack of flexibility makes it difficult to provide desirable features such as dynamic advertisement insertion, load balancing, client customization, user and device targeting, enhanced security mechanisms, and other features to more flexibly meet the needs of advertisers and content producers. For example, advertisers may want to use demographic information and user profile information to provide targeted advertising customized for each viewer, which is not possible if streaming media playback is only by a static and sequential manifest file.
Client side dynamic media streaming player applications may be provided to implement conditional logic and business rules. However, one of the most compelling features of streaming media is the capability for users to stream from many different media devices due to the widespread support of streaming protocols. As a result, a dynamic client side solution may necessitate significant development and maintenance costs to provide customized streaming applications for each major client platform, preventing cost effective implementation and deployment. Moreover, users may be required to search, download, and update dynamic media streaming applications for each individual device. This process may be inconvenient for many users, and the installation or updating of applications may be restricted in public or corporate environments.
Accordingly, there is a need to overcome the drawbacks and deficiencies in the art by providing flexible dynamic streaming media in a cost effective manner that is convenient and transparent for end users.